Function.prototype.mybind = function (fun, ...args1) {
    return (...args2) => {
        fun.fn = this;
        fun.fn(...args1.concat(args2))
        delete fun.fn
    }
}